home *** CD-ROM | disk | FTP | other *** search
-
- Anhang A: Allgemeines
- _____________________
-
-
-
-
- A.1 Bezugsadressen (Aenderungen vorbehalten)
- ____________________________________________
-
-
- Probleme mit Core Wars, Fehlermeldungen, Verbesserungsvorschläge:
-
- Unicorn Systems
- Bernstrasse 67
- CH-4852 Rothrist
-
-
- Core War Standard:
-
- Mark Clarkson
- 8619 Wassall Street
- Wichita
- Kansas 67210-1934, USA
-
-
- Die "Core War Standard" ist eine ca. 30 Seiten umfassende Dokumentation
- der Redcode-Sprache. Dort sind alle Regeln zum Aufbau von Redcode -
- Programmen und zur Beschaffenheit von MARS-Systemen enthalten. Gegen
- eine Gebühr von $4.-- kann die Dokumentation bei obiger Adresse bestellt
- werden.
-
-
-
-
- A.2 Quellenverzeichnis
- ______________________
-
-
- A. K. Dewdney: Computer-Kurzweil
- (Spektrum der Wissenschaft August 1984, Mai 1985, April 1987)
-
- Robert Martin: The CORE WARS system for the Macintosh
- (Dokumentation eines MARS-Systems für den Apple Macintosh)
-
- Mark Clarkson: Core War Standard
- (Genaue Dokumentation des Aufbaus von Redcode und MARS)
-
-
-
-
- A.3 Installieren des Programmes
- _______________________________
-
-
- Core Wars ist Shareware, es darf also ohne Weiteres weitergegeben und
- kopiert werden. Es muss aber beachtet werden, dass Core Wars
- verschiedene Dateien und Programme benötigt, um fehlerfrei zu laufen.
- Das Kopieren auf einen anderen Datenträger wird am Einfachsten über das
- CLI vorgenommen. Das Aufrufen und die Bedienung des CLI sind in der
- Bedienungsanleitung zum Amiga und im "Amiga DOS Manual" genau
- beschrieben. Kopieren Sie mit dem CLI-Befehl "copy" alle benötigten
- Dateien in das richtige Verzeichnis auf der neuen Diskette oder der
- Festplatte.
-
- Core Wars ist von uns in zwei Versionen in Umlauf gebracht worden. Die
- eine besteht aus einer autostartfähigen Diskette mit allen nötigen
- Verzeichnissen und Dateien. Die zweite Version besteht aus einem
- einzigen Verzeichnis auf einer handelsüblichen Public Domain Diskette
- (Fred Fish, FAUG, Kickstart, AUGE 4000, AUGS u.s.w.). Um aus den Files
- in einem solchen Verzeichnis eine autostartfähige Core Wars Diskette
- herzustellen, müssen verschiedene Vorarbeiten geleistet werden. Auf
- einer lauffähigen Core Wars Diskette sollten die unten aufgeführten
- Verzeichnisse und Dateien vorhanden sein, wobei die mit einem Stern (*)
- gekennzeichneten Dateien vom Core Wars System unbedingt benötigt werden.
- Am Einfachsten wird dazu eine original Workbench Diskette (ab Version
- 1.2) kopiert und auf der Kopie werden dann die überflüssigen Dateien
- gelöscht.
-
-
- *CoreWars Das Hauptprogramm.
- *LiesMich Dieser Text hier.
- Redcode (Dir) Für eigene Programme vorgesehen.
- c (Dir) CLI-Befehle und Utilities der Workbench
- LoadIFF Anzeigen von Bildern im IFF-Format (siehe Anleitung).
- CorePic Titelbild von CoreWars (nur bei Autostart sichtbar).
- Beispiele (Dir) Ein Verzeichnis mit einigen Programmbeispielen.
- Mice Siegerprogramm Welmeisterschaft 1986
- Mausefalle Schlägt Mice!
- Gnom \
- Knirps > weitere Beispielprogramme, siehe Anleitung.
- Chang /
- *System (Dir) Einige Hilfsprogramme der Workbench.
- *Einstellungen Einstellungsdatei für den Core Wars Editor.
- *View Anzeigen von Textdateien (z.B. diesen Text).
- *Fonts (Dir) Zeichensätze, die von Core Wars benötigt werden.
- *Diamond.font \
- *Diamond (Dir) > Zeichensatz 'Diamond 12'
- *12 /
- Anleitung (Dir) Enthält Die Anleitung in Form von Textdateien.
- Einleitung
- KapitelI
- KapitelII
- KapitelIII
- Anhang
- *libs Betriebssystem: Funktionsbibliotheken.
- *icon.library
- *diskfont.library
-
-
-
- Die Datei "Einstellungen" im Verzeichnis "system" wird beim ersten Start
- des Redcode Editors automatisch eingelesen. Sollte sie nicht gefunden
- werden, kommen die Standardeinstellungen zur Anwendung.
-
- Sobald Sie sich ein Redcode-Programm durch einen Doppelklick auf sein
- Icon ansehen wollen, wird dazu das Programm "View" verwendet. Wenn
- "View" nicht im Verzeichnis "system" zu finden ist, gibt das
- Betriebssystem in der Titelzeile der Workbench eine Fehlermeldung aus,
- was aber keine weiteren Folgen hat.
-
-
-
-
- A.4 Die Hilfsprogramme
- ______________________
-
-
-
- A.4.1 View
- ----------
-
- Dieses Programm befindet sich auf der Programmversion mit der
- startfähigen Diskette im Verzeichnis "System". Es dient dazu,
- Textdateien (z.B. den Quelltext eines Redcode-Programmes) auf dem
- Bildschirm anzuzeigen. Grundsätzlich kann dies mit einer beliebigen
- Kombination von drei Optionen geschehen: Wortweise, Zeilentrennung und
- Escape. Diese Optionen werden beim Aufruf des Programmes angegeben: Im
- CLI durch die Buchstaben w, t und e mit vorangestelltem Plus- oder
- Minuszeichen (+ oder -), in der Workbench durch die sogenannten
- "ToolTypes" des Icons der Textdatei.
-
- Die "Tool Types" sind eine Art Botschaft, die an das Programm übergeben
- werden. Beispielsweise wird die Escape-Option mit dem Eintrag
- "ESCAPE=EIN" ein- und mit dem Eintrag "ESCAPE=AUS" ausgeschaltet. Sie
- können die "Tool Types" einfach verändern: Wählen Sie ein Icon eines
- Textes mit einem Mausklick an (kein Doppelklick). Dann rufen Sie in der
- Workbench den Menupunkt "Info" auf. Im anschliessend erscheinenden
- Info-Fenster können Sie bestehende Tool Types ändern und mit ADD neue
- hinzufügen.
-
- Die Zusammenfassung der Modi und die Art und Weise, wie diese über die
- ToolTypes und das CLI ein- oder ausgeschaltet werden:
-
-
- Wortweise-Modus:
-
- Tool Type : WORTWEISE=EIN WORTWEISE=AUS
- CLI : +w -w
- Standard : Ausgeschaltet
-
- Wörter, die über das Ende einer Bildschirmzeile hinausgehen würden,
- werden ganz auf die nächste Zeile übertragen. So kann ein Text, der nur
- aus einer einzigen Zeile besteht, besser gelesen werden. Diese Option
- ist bei der Anzeige eines Quelltextes nicht notwendig, weil der Redcode
- Editor keine Zeilen zulässt, die länger als 77 Zeichen sind.
-
-
- Zeilentrennungs-Modus:
-
- Tool Type : ZEILENTRENNUNG=EIN ZEILENTRENNUNG=AUS
- CLI : +t -t
- Standard : Ausgeschaltet
-
- Wenn eine Linie des Textes länger als eine Bildschirmzeile ist, wird sie
- abgeschnitten. Normalerweise (mit ausgeschalteter Option) wird der Rest
- einer überlangen Linie auf der nächsten Zeile des Bildschirmes
- angezeigt.
-
-
- Escape-Modus:
-
- Tool Type : ESCAPE=EIN ESCAPE=AUS
- CLI : +e -e
- Standard : Ausgeschaltet
-
- Es ist möglich, in einen normalen Text bestimmte Steuerzeichen
- einzusetzen, mit denen die Farbe von einzelnen Buchstaben und Wörtern
- geändert werden kann. Wenn der ESCAPE-Modus eingeschaltet ist, werden
- diese Zeichen korrekt umgesetzt und angezeigt. Weil der Redcode Editor
- keine Steuerzeichen unterstützt, ist diese Option normalerweise
- ausgeschaltet.
-
- Wenn "View" läuft und ein Text angezeigt wird, können Sie der untersten
- Zeile, der Statuszeile, verschiedene Informationen über den Text
- entnehmen: Die Länge der Datei, die augenblickliche Position im Text und
- eine Angabe in Prozent. Letztere besteht aus zweien durch einen
- Querstrich getrennten Zahlen: Sie geben die Position des auf dem
- Bildschirm angezeigten Textausschnittes im Gesamttext an. Die erste
- Zahl steht für das Zeichen, das sich ganz links oben befindet, die
- zweite Zahl für das letzte (unterste) Zeichen. Die Anzeige des Textes
- kann über folgende Tastaturkommandos gesteuert werden:
-
-
- o Positionieren auf Textbeginn Backspace
- Taste 'r'
-
- o Nächste Bildschirmseite anzeigen Space
- Taste 'v'
-
- o Positionieren auf Zeichen durch Eingabe Taste 'z'
- der Nummer des Zeichens
-
- o Positionieren auf Zeichen durch Eingabe Taste 'p'
- in Prozent
-
- o Hilfeseiten anzeigen Taste 'h'
-
- o View abbrechen Taste 'q'
- Taste 'Esc'
-
-
- Das Programm kann auch durch einen Mausklick in das Schliessgadget des
- Textfensters (linke obere Ecke) verlassen werden. Wenn Sie die
- Kommandos 'p' oder 'z' verwenden, müssen Sie anschliessend in der
- Statuszeile eine Zahl eingeben. Wirksam sind die Tasten 0 bis 9 und
- die Backspace-Taste, welche die letzte eingegebene Ziffer löscht. Bei
- Prozentangaben können Sie Zahlen von 0 bis 100 und bei Zeichennummern
- von 0 bis zur Textlänge eingeben.
-
- Ein Beispiel zum starten über das CLI: "View +e +w Anleitung" zeigt
- einen Text namens "Anleitung" im Escape- und im Wortweise-Modus an.
- Weil normalerweise alle Optionen unwirksam sind, muss hier der
- Zeilentrennungs-Modus nicht mit "-t" explizit ausgeschaltet werden.
-
-
-
- A.4.2 LoadIFF
- -------------
-
- Dieses Programm liest ein Bild von Diskette ein und zeigt es auf dem
- Bildschirm an. "LoadIFF" verträgt sowohl Bilder in den normalen
- Auflösungen als auch im HAM-Modus des Amiga. Alle Bilder können mit dem
- bekannten Colorcycling-Effekt (Farbrollen) angezeigt werden. Beim
- Aufrufen des Programmes kann angegeben werden, wie lange das Bild auf
- dem Bildschirm stehen bleiben soll. Der Mauszeiger verschwindet während
- der Anzeige und erscheint nach dem Beenden des Programmes wieder.
-
- LoadIFF kann nur vom CLI aus mit dieser Syntax aufgerufen werden:
-
- LoadIFF <Name> <Delay> [H] [n]
-
- Die Inhalte der spitzen Klammern sind notwendig, die Inahlte der eckigen
- Klammern sind wahlweise anzugeben. Die Bedeutung der Bezeichner:
-
-
- Name Das Bild, das angezeigt werden soll.
-
- Delay Dauer, welcher der das Bild auf dem Bildschirm stehen
- bleibt. Die Zeit wird in 1/50 - Sekunden angegeben: 500
- würde das Bild 10 Sekunden lang anzeigen.
-
- H Das Bild wird im HAM-Modus angezeigt.
-
- n Eine Zahl von 0 bis 7, die die Art des Colorcycling
- bezeichnet. Es ist möglich, drei Bereiche aller Farben
- gleichzeitig zu Rollen. Die Kombination der Bereiche wird
- durch die Zahl bestimmt: 0 = Kein Farbrollen, 1 = Bereich 1,
- 2 = Bereich 2, 3 = Bereich 1 und 2, 4 = Bereich 3,
- 5 = Bereich 1 und 3, 6 = Bereich 2 und 3, 7 = alle drei
- Bereiche. Dies entspricht übrigens den Bits, die durch
- die Zahl gesetzt werden, wenn sie im binären Zahlensystem
- dargestellt wird.
-
-
- LoadIFF befindet sich auf der Originaldiskette im Verzeichnis "c", das
- aber auf der Workbench nicht sichtbar ist. Das Programm ist zu 100% in
- Assembler geschrieben und deshalb sowohl sehr schnell als auch sehr kurz
- (etwa 3 kByte).
-
-
-
-
-
-
- A.5 Einstellungen
- _________________
-
-
-
-
- A.5.1 Standardwerte
- ___________________
-
-
-
- o Tabulatorsprung 16 Zeichen
-
- o Unterscheidung von Gross/Kleinschrift beim Suchen Eingeschaltet
-
- o Aufblitzen des Bildschirms nach dem 66. Zeichen Eingeschaltet
-
- o Makros der Funktionstasten f1 bis f10 Alle Redcode-
- Befehle
-
- o Makros der Funktionstasten F1 bis F10 Keine
-
-
- Wenn beim ersten Aufrufen des Editors von Core Wars die
- Einstellungsdatei namens "Einstellungen" im Verzeichnis "System" der
- Startdiskette nicht gefunden wird, werden die aufgeführten Standardwerte
- wirksam.
-
-
-
-
- A.5.2 Aufbau der Einstellungsdatei
- __________________________________
-
-
- Es handelt sich um eine Textdatei, die durch ein Erkennungs- wort
- gekennzeichnet wird. Die folgende Tabelle zeigt den Aufbau einer
- solchen Textdatei:
-
-
- o Erkennungswort "Redcode Editor 1988 by Roger Meier
- & Patric Hofmann"
-
- o Makro-Liste Eine Liste aller 20 Makros, wobei
- jedes auf einer neuen Zeile beginnen
- muss. Eine nicht belegte Funktions-
- taste ist durch eine Leerzeile ge-
- kennzeichnet.
-
- o Tabulatorsprung Eine dreistellige Zahl, mit voran-
- gestellten Leerzeichen aufgefüllt.
-
- o Gross/Klein und Glocke Eine zweistellige Zahl, die aus den
- Ziffern 0 und 1 Besteht. 0 = Aus, 1 =
- Ein. Die erste Ziffer steht für die
- Gross/Klein Unterscheidung, die zwei-
- te für die Glocke (bzw. den Bild-
- schirmblitz).
-
-
-
-
-
-
- Anhang B: Index
- _______________
-
-
-
-
- B.1 Fachbegriffe
- ________________
-
-
-
- Adresse:
-
- Sie bestimmt eine Position im Speicherfeld des MARS-Systems. Jede Zelle
- des Speicherfeldes kann durch ihre Adresse gelesen und verändert werden.
- Jeder Programmzeiger eines Kampfprogrammes enthält die Adresse der
- nächsten auszuführenden Anweisung.
-
-
- Adressierungsart, Adressierungsmodus:
-
- Bestimmt die Vorgehensweise, nach der ein Argument eines Befehls
- interpretiert wird. Bei Redcode erlaubt vier verschiedene
- Adressierungsarten, die durch die Zeichen #, $, @ und < angegeben
- werden: Unmittelbar, direkt, indirekt und indirekt-dekrement.
-
-
- Anweisung:
-
- Ein Redcode-Befehl in einem Kampfprogramm mit zwei Argumenten und den
- Adressierungsarten der Argumente.
-
-
- Argument:
-
- Die Angaben in einer Anweisung, auf welche Speicherzelle oder -zellen
- sich der Befehl der Anweisung bezieht.
-
-
- Assembler:
-
- Uebersetzt den Quelltext in einen von MARS ausführbaren Objektcode.
-
-
- Ausdruck:
-
- Ein aus mehreren Symbolen bestehendes Argument eines Redcode Befehls.
- Ausdrücke können nur vom Assembler verstanden und übersetzt werden.
-
-
- Backspace:
-
- Die Taste ganz rechts oben auf der Tastatur mit dem aufgedruckten Peil
- nach links. Sie dient normalerweise zum Löschen des zuletzt
- eingegebenen Zeichens.
-
-
- Datei:
-
- Eine Sammlung von Zeichen, die sich in einem Massenspeicher (Diskette,
- RAM-Disk) befindet und die zur Verarbeitung von einem Programm
- eingelesen werden kann. Eine Datei kann ein Text sein, sie kann jedoch
- auch aus Sonder- und Steuerzeichen bestehen.
-
-
- Daten:
-
- Im MARS-Speicherfeld können sich Anweisungen von Kampfprogrammen sowie
- Datenwerte befinden. Der Unterschied besteht darin, dass ein Datenwert
- (DAT) nicht von einem Programm ausgeführt werden kann. Sollte dies doch
- versucht werden, gilt das betreffende Programm als zerstört.
-
-
- Editor:
-
- Der Teil des Core Wars Programmes auf dem Amiga, mit dem die
- Redcode-Programme geschrieben werden können. Der Editor speichert die
- Kampfprogramme als Textdatei (siehe unter Quellcode) in einem
- Massenspeicher wie Diskette oder RAM-Disk ab.
-
-
- File:
-
- Siehe unter Datei
-
-
- Gadget:
-
- Um die Eingabe eines Programmnamens über die Tastatur abzuschliessen,
- stehen oft zwei Gadgets zur Verfügung. Dies sind kleine umrahmte Kästen
- mit einer Aufschrift oder einem Sinnbild. Durch einen Mausklick in
- dieses Kästchen kann die Eingabe dem Programm übergeben oder der Vorgang
- abgebrochen werden.
-
-
- Kampfprogramm:
-
- Ein Redcode-Programm. Es dient einzig und allein dazu, ein gegnerisches
- Kampfprogramm zu beschädigen und so den Kampf zu gewinnen.
-
-
- MARS:
-
- Eine Abkürzung für Memory Array Redcode Simulator. Mit anderen Worten
- der Begriff für das System, durch das ein Redcode-Programm ausgeführt
- werden kann. Beim Amiga wird dies ausschliesslich durch Software
- realisiert: Es handelt sich um einen Programmteil von Core Wars.
-
-
- Menü:
-
- Das System des Amiga, bestimmte Aktionen durch herunterklappbare
- Menustreifen auszuwählen (Pulldown-Menüs). Beim Programm Core Wars
- werden Menüs im Editor und im Hauptprogramm verwendet.
-
-
- Objektcode, Objektdatei:
-
- Eine Datei, die ein von MARS ausführbares Kampfprogramm enthält. Der
- Assembler erzeugt aus einem Quelltext den Objektcode, der dann in Form
- einer Objektdatei in einen Massenspeicher geschrieben wird.
-
-
- Programmzeiger:
-
- Jedes aktive (laufende) Redcode-Programm besitzt einen Programmzeiger.
- Dieser bestimmt die nächste, von MARS auszuführende Anweisung des
- Programmes. Ein Programmzeiger ist nicht auf 'sein' Redcode-Programm
- beschränkt, er kann vielmehr durch Sprunganweisungen wie JMP an
- beliebige Stellen im Speicherfeld gesetzt werden.
-
-
- Quellcode, Quelldatei, Quelltext:
-
- Ein normaler Text, der ein Kampfprogramm enthält. Der Text wird mit dem
- Editor geschrieben und muss vor der Ausführung durch MARS vom Assembler
- in den Objektcode übersetzt werden.
-
-
- Redcode:
-
- Eine Programmiersprache, in der die Kampfprogramme geschrieben sind.
- Sie hat ähnlichkeit mit Assembler, ist aber weit weniger komplex.
- Redcode umfasst 10 Befehle, mit denen im Programm gesprungen, Vergleiche
- ausgeführt und Speicherarithmetik betrieben werden kann. Normalerweise
- wird ein Redcode-Programm vor der Bearbeitung durch MARS mit einem
- Assembler in ausführbaren Objektcode übersetzt.
-
-
- Space:
-
- Die Leertaste, die normalerweise einen Zwischenraum in den Text einfügt.
-
-
- Speicherfeld:
-
- Der 8000 Zellen umfassende Bereich, in dem die Kampfprogramme ablaufen
- können. Das Speicherfeld besitzt eine Ringförmige Struktur: Ein Zugriff
- auf die Zelle Nr. 8000 kommt einem Zugriff auf Zelle Nr. 0 gleich.
-
-
- Symbol:
-
- Ein Name, der in einem Argument einer Redcode-Anweisung für einen
- Zahlenwert steht. Der Zahlenwert ergibt sich aus der Zeilennummer, in
- der das Symbol definiert wurde. Symbole machen einen Quelltext
- übersichtlich und leichter verständlich. Ein Ausdruck in einer
- Redcode-Anweisung kann aus mehreren Symbolen bestehen, die durch die
- Operatoren + und - verknüpft werden.
-
-
- Task:
-
- Wenn sich ein Redcode-Programmzeiger durch einen SPL (Split)- Befehl in
- zwei eigenständige Programmzeiger aufgeteilt hat, spricht man auch von
- zwei Tasks. Jedes einzelne Redcode-Programm, das während einem Kampf
- auf dem MARS-System läuft, ist ein Task.
-
-
- Zelle:
-
- Sie kann eine vollständige Redcode-Anweisung aufnehmen: Den Befehl, die
- Argumente A und B sowie die Adressierungsmodi für die Argumente A und B.
- Zellen können durch Redcode-Befehle verglichen, gelöscht und kopiert
- werden.
-
-
- Zyklus:
-
- Ein Zyklus ist a) ein vollständiger Durchlauf einer Schleife in einem
- Kampfprogramm oder b) Die Ausführung eines Befehles beider Beider
- Programme, die gegeneinander Kämpfen. Die zweite Bedeutung wird bei der
- Einstellung der anzahl Zyklen eines Kampfes verwendet.
-